package leetcode;

/**
 * 给定一个 m x n 的矩阵，如果一个元素为 0 ，则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。
 * 输入：matrix = [[1,1,1],[1,0,1],[1,1,1]]
 * 输出：[[1,0,1],[0,0,0],[1,0,1]]
 * @author le
 */
public class Text06
{
    public static void main(String[] args)
    {

    }

    public void setZeroes(int[][] matrix) {
        int m = matrix.length;
        int n = matrix[0].length;


        int count = 0;
        for(int i = 0;i < m;i++){
            for (int j = 0;j < n;j++){
                if (matrix[i][j] == 0){
                   count++;
                }
            }
        }

        int[][] zeros = new int[count][2];
        int index = 0;
        for(int i = 0;i < m;i++){
            for (int j = 0;j < n;j++){
                if (matrix[i][j] == 0){
                    zeros[index][0] = i;
                    zeros[index][1] = j;
                    index++;
                }
            }
        }
        for (int i = 0;i < zeros.length;i++){
            int col = 0;
            while(col < n){
                matrix[zeros[i][0]][col] = 0;
                col++;
            }

            int row = 0;
            while(row < m){
                matrix[row][zeros[i][1]] = 0;
                row++;
            }
        }
    }


}
